<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>fdk-aac: original/libSBRdec/src Directory Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">fdk-aac
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_ed137715e08969a186ec660e8ae6e2fb.html">original</a></li><li class="navelem"><a class="el" href="dir_222de58a05c98cc4a78309a37525cd28.html">libSBRdec</a></li><li class="navelem"><a class="el" href="dir_c997d48ad60fbe63e2ba342b9c79db98.html">src</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">src Directory Reference</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
Directories</h2></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
Files</h2></td></tr>
<tr class="memitem:env__calc_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="env__calc_8cpp.html">env_calc.cpp</a></td></tr>
<tr class="memdesc:env__calc_8cpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Envelope calculation. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:env__calc_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="env__calc_8h.html">env_calc.h</a> <a href="env__calc_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:env__calc_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Envelope calculation prototypes. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:env__dec_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="env__dec_8cpp.html">env_dec.cpp</a></td></tr>
<tr class="memdesc:env__dec_8cpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">envelope decoding This module provides envelope decoding and error concealment algorithms. The main entry point is <a class="el" href="env__dec_8cpp.html#ac15872b38c44f362cb162b328000d5ef" title="Convert raw envelope and noisefloor data to energy levels.">decodeSbrData()</a>. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:env__dec_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="env__dec_8h.html">env_dec.h</a> <a href="env__dec_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:env__dec_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Envelope decoding. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:env__extr_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="env__extr_8cpp.html">env_extr.cpp</a></td></tr>
<tr class="memdesc:env__extr_8cpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Envelope extraction The functions provided by this module are mostly called by applySBR(). After it is determined that there is valid SBR data, <a class="el" href="env__extr_8cpp.html#a1535167f85903da45054117ce2ee7fc3" title="Read header data from bitstream.">sbrGetHeaderData()</a> might be called if the current SBR data contains an <a class="el" href="env__extr_8cpp.html#SBR_HEADER_ELEMENT">SBR_HEADER_ELEMENT</a> as opposed to a <a class="el" href="env__extr_8cpp.html#SBR_STANDARD_ELEMENT">SBR_STANDARD_ELEMENT</a>. This function may return various error codes as defined in #SBR_HEADER_STATUS . Most importantly it returns HEADER_RESET when decoder settings need to be recalculated according to the SBR specifications. In that case applySBR() will initiatite the required re-configuration. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:env__extr_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="env__extr_8h.html">env_extr.h</a> <a href="env__extr_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:env__extr_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Envelope extraction prototypes. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:hbe_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hbe_8cpp.html">hbe.cpp</a></td></tr>
<tr class="memdesc:hbe_8cpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fast FFT routines prototypes. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:huff__dec_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="huff__dec_8cpp.html">huff_dec.cpp</a></td></tr>
<tr class="memdesc:huff__dec_8cpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Huffman Decoder. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:huff__dec_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="huff__dec_8h.html">huff_dec.h</a> <a href="huff__dec_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:huff__dec_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Huffman Decoder. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:lpp__tran_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lpp__tran_8cpp.html">lpp_tran.cpp</a></td></tr>
<tr class="memdesc:lpp__tran_8cpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Low Power Profile Transposer This module provides the transposer. The main entry point is <a class="el" href="lpp__tran_8cpp.html#a524aa88f1bd2cedb437ca6cde8a65cdb" title="Perform transposition by patching of subband samples. This function serves as the main entry point in...">lppTransposer()</a>. The function generates high frequency content by copying data from the low band (provided by core codec) into the high band. This process is also referred to as "patching". The function also implements spectral whitening by means of inverse filtering based on LPC coefficients. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:lpp__tran_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lpp__tran_8h.html">lpp_tran.h</a> <a href="lpp__tran_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:lpp__tran_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Low Power Profile Transposer. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:psdec_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="psdec_8cpp.html">psdec.cpp</a></td></tr>
<tr class="memdesc:psdec_8cpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">parametric stereo decoder <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:psdec_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="psdec_8h.html">psdec.h</a> <a href="psdec_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:psdec_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sbr decoder. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:psdec__drm_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="psdec__drm_8cpp.html">psdec_drm.cpp</a></td></tr>
<tr class="memdesc:psdec__drm_8cpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">parametric stereo decoder for Digital radio mondial <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:psdec__drm_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="psdec__drm_8h.html">psdec_drm.h</a> <a href="psdec__drm_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:psdec__drm_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">parametric stereo decoder for digital radio mondial <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:psdecrom__drm_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="psdecrom__drm_8cpp.html">psdecrom_drm.cpp</a></td></tr>
<tr class="memdesc:psdecrom__drm_8cpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">rom tables for Drm parametric stereo decoder <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:sbr__deb_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sbr__deb_8cpp.html">sbr_deb.cpp</a></td></tr>
<tr class="memdesc:sbr__deb_8cpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print selected debug messages. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:sbr__deb_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sbr__deb_8h.html">sbr_deb.h</a> <a href="sbr__deb_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:sbr__deb_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Debugging aids. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:sbr__dec_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sbr__dec_8cpp.html">sbr_dec.cpp</a></td></tr>
<tr class="memdesc:sbr__dec_8cpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sbr decoder This module provides the actual decoder implementation. The SBR data (side information) is already decoded. Only three functions are provided: <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:sbr__dec_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sbr__dec_8h.html">sbr_dec.h</a> <a href="sbr__dec_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:sbr__dec_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sbr decoder. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:sbr__ram_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sbr__ram_8cpp.html">sbr_ram.cpp</a></td></tr>
<tr class="memdesc:sbr__ram_8cpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory layout. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:sbr__ram_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sbr__ram_8h.html">sbr_ram.h</a> <a href="sbr__ram_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:sbr__ram_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory layout. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:sbr__rom_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sbr__rom_8cpp.html">sbr_rom.cpp</a></td></tr>
<tr class="memdesc:sbr__rom_8cpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Definition of constant tables. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:sbr__rom_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sbr__rom_8h.html">sbr_rom.h</a> <a href="sbr__rom_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:sbr__rom_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Declaration of constant tables. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:sbrdec__freq__sca_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sbrdec__freq__sca_8cpp.html">sbrdec_freq_sca.cpp</a></td></tr>
<tr class="memdesc:sbrdec__freq__sca_8cpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frequency scale calculation. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:sbrdec__freq__sca_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sbrdec__freq__sca_8h.html">sbrdec_freq_sca.h</a> <a href="sbrdec__freq__sca_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:sbrdec__freq__sca_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frequency scale prototypes. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:sbrdecoder_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sbrdecoder_8cpp.html">sbrdecoder.cpp</a></td></tr>
<tr class="memdesc:sbrdecoder_8cpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">SBR decoder frontend This module provides a frontend to the SBR decoder. The function openSBR() is called for initialization. The function <a class="el" href="sbrdecoder_8cpp.html#a5d847a76fce371fbb9f3ceffec08feca" title="This function decodes the given SBR bitstreams and applies SBR to the given time data.">sbrDecoder_Apply()</a> is called for each frame. sbr_Apply() will call the required functions to decode the raw SBR data (provided by <a class="el" href="env__extr_8cpp.html" title="Envelope extraction The functions provided by this module are mostly called by applySBR()....">env_extr.cpp</a>), to decode the envelope data and noise floor levels [<a class="el" href="env__dec_8cpp.html#ac15872b38c44f362cb162b328000d5ef" title="Convert raw envelope and noisefloor data to energy levels.">decodeSbrData()</a>], and to finally apply SBR to the current frame [<a class="el" href="sbr__dec_8cpp.html#a0afb25e3de966d0d3d171323b93d3f94" title="SBR decoder core function for one channel.">sbr_dec()</a>]. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:transcendent_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="transcendent_8h.html">transcendent.h</a> <a href="transcendent_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:transcendent_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">FDK Fixed Point Arithmetic Library Interface. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>
